package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;

import javax.xml.soap.Text;

import java.sql.Blob;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.SequenceGenerator;

import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 零件信息表
 * @author onlineGenerator
 * @date 2016-08-03 15:20:26
 * @version V1.0   
 *
 */
@Entity
@Table(name = "cbs_part_info", schema = "")
@SuppressWarnings("serial")
public class CbsPartInfoEntity implements java.io.Serializable {
	/**ID*/
	private java.lang.String id;
	/**零件号*/
	@Excel(name="零件号")
	private java.lang.String partNo;
	/**英文描述*/
	@Excel(name="英文描述")
	private java.lang.String englishDes;
	/**中文描述*/
	@Excel(name="中文描述")
	private java.lang.String chineseDes;
	/**销售单位*/
	@Excel(name="销售单位")
	private java.lang.String marketUnit;
	/**微信推广名*/
	@Excel(name="微信推广名")
	private java.lang.String wechatName;
	/**分类*/
	@Excel(name="分类")
	private java.lang.String commodity;
	/**适用机型*/
	@Excel(name="适用机型")
	private java.lang.String type;
	/**详细说明*/
	@Excel(name="详细说明")
	private java.lang.String details;
	/**createName*/
	private java.lang.String createName;
	/**createBy*/
	private java.lang.String createBy;
	/**createDate*/
	private java.util.Date createDate;
	/**updateName*/
	private java.lang.String updateName;
	/**updateBy*/
	private java.lang.String updateBy;
	/**updateDate*/
	private java.util.Date updateDate;
	/**终端价*/
	private Double terminalPrice;
	/**院线价*/
	private Double cinemaPrice;
	/**中影价*/
	private Double cfgcPrice;
	/**微信价*/
	private Double wechatPrice;
	/**横店价*/
	private Double hdPrice;
	//显示价格
    private Double showPrice;
	/**
	 * 图片表关联
	 */
	private List<CbsPartImageEntity> partImgList;
	
	//列表图片暂存路径 与数据库无关
	private String filePath;

    /*是否可售。0:否，1：是*/
    private String canSale;

    /*是否微信可售。0:否，1：是*/
    private String canWxSale;
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  ID
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=32)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  ID
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  零件号
	 */
	@Column(name ="PART_NO",nullable=true,length=50)
	public java.lang.String getPartNo(){
		return this.partNo;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  零件号
	 */
	public void setPartNo(java.lang.String partNo){
		this.partNo = partNo;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  英文描述
	 */
	@Column(name ="ENGLISH_DES",nullable=true,length=100)
	public java.lang.String getEnglishDes(){
		return this.englishDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  英文描述
	 */
	public void setEnglishDes(java.lang.String englishDes){
		this.englishDes = englishDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  中文描述
	 */
	@Column(name ="CHINESE_DES",nullable=true,length=100)
	public java.lang.String getChineseDes(){
		return this.chineseDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  中文描述
	 */
	public void setChineseDes(java.lang.String chineseDes){
		this.chineseDes = chineseDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  销售单位
	 */
	@Column(name ="MARKET_UNIT",nullable=true,length=32)
	public java.lang.String getMarketUnit(){
		return this.marketUnit;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  销售单位
	 */
	public void setMarketUnit(java.lang.String marketUnit){
		this.marketUnit = marketUnit;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  微信推广名
	 */
	@Column(name ="WECHAT_NAME",nullable=true,length=32)
	public java.lang.String getWechatName(){
		return this.wechatName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  微信推广名
	 */
	public void setWechatName(java.lang.String wechatName){
		this.wechatName = wechatName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  分类
	 */
	@Column(name ="SORT",nullable=true,length=32)
	public String getCommodity() {
		return commodity;
	}

	public void setCommodity(String commodity) {
		this.commodity = commodity;
	}
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  适用机型
	 */
	@Column(name ="TYPE",nullable=true,length=32)
	public java.lang.String getType(){
		return this.type;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  适用机型
	 */
	public void setType(java.lang.String type){
		this.type = type;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  详细说明
	 */
	@Column(name ="DETAILS",nullable=true,length=1000)
	public java.lang.String getDetails(){
		return this.details;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  详细说明
	 */
	public void setDetails(java.lang.String details){
		this.details = details;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createName
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createName
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createBy
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createBy
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  createDate
	 */
	@Column(name ="CREATE_DATE",nullable=true)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  createDate
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateName
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateName
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateBy
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateBy
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  updateDate
	 */
	@Column(name ="UPDATE_DATE",nullable=true)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  updateDate
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	
	@Column(name ="terminal_price",nullable=true)
    public Double getTerminalPrice() {
		return terminalPrice;
	}

	public void setTerminalPrice(Double terminalPrice) {
		this.terminalPrice = terminalPrice;
	}

	@Column(name ="cinema_price",nullable=true)
	public Double getCinemaPrice() {
		return cinemaPrice;
	}

	public void setCinemaPrice(Double cinemaPrice) {
		this.cinemaPrice = cinemaPrice;
	}
	
	@Column(name ="cfgc_price",nullable=true)
	public Double getCfgcPrice() {
		return cfgcPrice;
	}

	public void setCfgcPrice(Double cfgcPrice) {
		this.cfgcPrice = cfgcPrice;
	}

	@Column(name ="wechat_price",nullable=true)
	public Double getWechatPrice() {
		return wechatPrice;
	}

	public void setWechatPrice(Double wechatPrice) {
		this.wechatPrice = wechatPrice;
	}

	@Column(name ="hd_price",nullable=true)
	public Double getHdPrice() {
		return hdPrice;
	}

	public void setHdPrice(Double hdPrice) {
		this.hdPrice = hdPrice;
	}

	@JsonIgnore
    @OneToMany(fetch = FetchType.LAZY)
    @JoinColumn(name="PART_ID")
	public List<CbsPartImageEntity> getPartImgList() {
        if(partImgList != null && partImgList.size() > 0){
            setFilePath(partImgList.get(0).getAllPath());
        }
		return partImgList;
	}

	public void setPartImgList(List<CbsPartImageEntity> partImgList) {
		this.partImgList = partImgList;
	}
	@Transient
	public String getFilePath() {
		return filePath;
	}

	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

    @Transient
    public Double getShowPrice() {
        return showPrice;
    }

    public void setShowPrice(Double showPrice) {
        this.showPrice = showPrice;
    }

    @Column(name = "can_sale")
    public String getCanSale() {
        return canSale;
    }

    public void setCanSale(String canSale) {
        this.canSale = canSale;
    }

    @Column(name = "can_wx_sale")
    public String getCanWxSale() {
        return canWxSale;
    }

    public void setCanWxSale(String canWxSale) {
        this.canWxSale = canWxSale;
    }
}
